cmake_minimum_required(VERSION 3.20)

project(design-pattern)

# 桥接模式
add_executable(
    Brige-run
    src/Brige_main.cpp
    src/Companys.hpp
    src/Programmers.hpp
)

# 工厂模式
add_executable(
    Factory-run
    src/Factory_main.cpp
    src/Products.hpp
    src/Creators.hpp
)

# 单例模式
add_executable(
    Single-run
    src/Single_main.cpp
    src/SingleDogs.hpp
)

#
add_executable(
    Strategy-run
    src/Strategy_main.cpp
    src/Strategys.hpp
)

# 
add_executable(
    Observer-run
    src/Observer.hpp
    src/Observer_main.cpp
)

add_executable(
    ResponseChain-run
    src/ResponseChain_main.cpp
    src/ResponseChain.hpp
)

#
add_executable(
    Proxy-run
    src/Proxy_main.cpp
    src/Proxy.hpp
)

#
add_executable(
    TemplateMethods-run
    src/TemplateMethods_main.cpp
    src/TemplateMethods.hpp
)

#
add_executable(
    Adator-run
    src/Adators_main.cpp
    src/Adators.hpp
)

#
add_executable(
    Facade-run
    src/Facades_main.cpp
    src/Facades.hpp
)
